<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>练习题</title>
</head>
<body>
    <script>
        /*
            Math.random()方法：产生一个从0到1之间的随机小数(包含0，不包含1)
            Math.random()*10    会产生一个从0~10之间的随机小数(包含0，不包含10)
            Math.ceil(Math.random()*10) 会产生一个从0~10之间的随机整数。会有极小的概率产生0.0，导致向上取整依然是0
            Math.floor(Math.random()*10) 会产生一个从0~9之间的随机整数。
            Math.floor(Math.random()*10+1) 会产生一个从1~10之间的随机整数。

            问：
                要5~10之间的随机整数(包含5，不包含10)
                    Math.floor(Math.random()*5)+5

                要生成N~M之间的随机整数(包含N，不包含M)
                Math.floor(Math.random()*(M-N))+N
         */
        //var num= Math.random()*10;

        //把得到的随机小数，向下取正
        // num= Math.floor(num);
        // alert(num)


        //向上取整
        // console.log(Math.ceil(3.1));
        // console.log(Math.ceil(3.5));
        // console.log(Math.ceil(3.7));

        //向下取整
        // console.log(Math.floor(3.1));
        // console.log(Math.floor(3.5));
        // console.log(Math.floor(3.7));


        /*
        随机点名案例
            需求：请把 ['赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操'] 随机显示一个名字到页面中
            分析：
            ①：利用随机函数随机生成一个数字作为索引号
            ②：数组[随机数] 生成到页面中

        function randomName(array) {
            // 随机从0开始到array.length的一个随机数，包含0不包含array.length
            let index= Math.floor(Math.random()*(array.length-0))+0;
            alert(array[index]);
        }
        randomName(new Array('赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操'))
        */
        /*
        随机点名案例改进
            需求：请把 [‘赵云’, ‘黄忠’, ‘关羽’, ‘张飞’, ‘马超’, ‘刘备’, ‘曹操’] 随机显示一个名字到页面中，但是不
            允许重复显示
            分析：
            ①：利用随机函数随机生成一个数字作为索引号
            ②：数组[随机数] 生成到页面中
            ③：数组中删除刚才抽中的索引号

        function randomName(array) {
            // 随机从0开始到array.length的一个随机数，包含0不包含array.length
            let index= Math.floor(Math.random()*(array.length-0))+0;
            console.log(array[index]);
            //从index开始删除，删除1个元素
            array.splice(index,1)
        }
        var names=new Array('赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操');

        randomName(names);
        console.log(names)
        */

        /*
            猜数字游戏
                需求：程序随机生成 1~10 之间的一个数字，用户输入一个数字
                分析：
                ①：利用随机数生成一个数字
                ②：需要一直猜，所以需要不断的循环
                ③：因为条件是结果猜对了，就是判断条件退出，用while循环合适
                ④：内部判断可以用多分支语句
         */
        function randomNumber(start,end) {
            let randomNum=Math.floor(Math.random()*(end-start))+start;
            let num=prompt("请输入您要猜的数字：");
            while (true){
                if (num==randomNum){
                    alert("恭喜你猜对了")
                    break;
                }else if (num>randomNum){
                    num=prompt("抱歉，猜大了，请重新输入您要猜的数字：");
                }else{
                    num=prompt("抱歉，猜小了，请重新输入您要猜的数字：");
                }
            }
        }
        randomNumber(1,10);
    </script>
</body>
</html>